(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
ack(0, n) → s(n)
ack(s(m), 0) → ack(m, s(0))
ack(s(m), s(n)) → ack(m, ack(s(m), n))
s(x) → r(x)
0 → z
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
ack(0, z0) → s(z0)
ack(s(z0), 0) → ack(z0, s(0))
ack(s(z0), s(z1)) → ack(z0, ack(s(z0), z1))
s(x) → r(x)
0 → z
Tuples:
ACK(0, z0) → c(S(z0))
ACK(s(z0), 0) → c1(ACK(z0, s(0)), S(0), 0')
ACK(s(z0), s(z1)) → c2(ACK(z0, ack(s(z0), z1)), ACK(s(z0), z1), S(z0))
S tuples:
ACK(0, z0) → c(S(z0))
ACK(s(z0), 0) → c1(ACK(z0, s(0)), S(0), 0')
ACK(s(z0), s(z1)) → c2(ACK(z0, ack(s(z0), z1)), ACK(s(z0), z1), S(z0))
K tuples:none
Defined Rule Symbols:
ack, s, 0
Defined Pair Symbols:
ACK
Compound Symbols:
c, c1, c2
(3) CdtUnreachableProof (EQUIVALENT transformation)
The following tuples could be removed as they are not reachable from basic start terms:
ACK(0, z0) → c(S(z0))
ACK(s(z0), 0) → c1(ACK(z0, s(0)), S(0), 0')
ACK(s(z0), s(z1)) → c2(ACK(z0, ack(s(z0), z1)), ACK(s(z0), z1), S(z0))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
ack(0, z0) → s(z0)
ack(s(z0), 0) → ack(z0, s(0))
ack(s(z0), s(z1)) → ack(z0, ack(s(z0), z1))
s(x) → r(x)
0 → z
Tuples:none
S tuples:none
K tuples:none
Defined Rule Symbols:
ack, s, 0
Defined Pair Symbols:none
Compound Symbols:none
(5) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(6) BOUNDS(O(1), O(1))